define([], function () {
    'use strict';

    /**
     * 格式化数字为千分位，支持指定小数位数
     * @param {number|string} num 原始数值
     * @param {number} [decimalDigits=0] 需要保留的小数位
     * @returns {string} 经过格式化的字符串
     */
    function formatThousands(num, decimalDigits) {
        var digits = typeof decimalDigits === 'number' ? decimalDigits : 0;
        if (num === null || num === undefined || num === '') {
            // 默认与旧实现保持一致，未指定小数位时显示两位
            return digits === 0 ? '0.00' : Number(0).toFixed(digits);
        }

        var fixedNum = Number(num).toFixed(digits);
        var parts = fixedNum.split('.');
        parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
        return parts.join('.');
    }

    return {
        formatThousands: formatThousands
    };
});

